1. Field of the Invention
The present invention generally relates to virtual machine (VM) operating systems (OS) for computer and data processing systems and, more particularly, to an improved subsystem to the VM operating system containing command language and file management capability that allows programs to be invoked via a direct branch linkage in the addressing mode of the target program, allows the program's addressing mode and residency mode to be dynamically and interactively overridden at any point in the load process, controls whether previously loaded programs remain in storage along with the program that is currently being loaded, and allows the loading and execution of programs that are architecturally dependent as well as programs that have no architecture dependencies.
2. Description of the Prior Art
The basic concept of a virtual machine is the provision of a base on which different operating systems can share a computer or data processing system and logically behave as if each is the only operating system running on the computer or data processing system. The most widely used virtual machine (VM) system is VM/SP which manages an IBM System 370 (S/370) family of computers.
In order to support a plurality of users on the virtual machine operating system, it is common to provide a subsystem containing command language and file management capability. Such a subsystem is IBM's Conversational Monitor System (CMS) for the VM/SP. CMS is a disk oriented operating system that gives the user complete access to what appears to be a dedicated real machine. Thus, while a CMS user sees a dedicated virtual machine, VM/SP provides a multiuser timesharing environment by supporting many separate CMS virtual machines. A general description of VM/SP and CMS may be had with reference to H. Lorin and H. M. Deitel, Operating Systems, Addison-Wesley (1981), Chapter 16, "Virtual Machines", and H. M. Deitel, An Introduction to Operating Systems, Addison-Wessley (1984), Chapter 22, "VM: A Virtual Machine Operating System".
The IBM S/370 architecture provides 24-bit addressing and limited virtual storage for a single user to 16Mb. Recently, the S/370-XA (eXtended Architecture) has been introduced which allows 31-bit addressing, thus greatly enhancing the virtual storage available to a single user. However, the two environments, S/370 and S/370-XA, are not fully compatible. More specifically, the program loader available prior to this invention deals with one architecture and assumes that all programs are executable once loaded. Since the one architecture supported is S/370 architecture, which does not include the concepts of multiple addressing and residency modes, it includes no addressing or residency mode processing. Programs are loaded into fixed, nonrelocatable addresses and executed with no addressing mode switching.